"""
2024四川人口数据可视化地图
"""

#导包
import json
from pyecharts.charts import Map
from pyecharts.options import *

#读取数据文件
f = open("E:\python_resource\四川省各市人口数据.txt",'r',encoding='UTF-8')
data = f.read()
#关闭文件
f.close()

#转化数据格式
data_list = json.loads(data)
print(data_list)
#组装各市名称以及人口为元组，一组一组放入列表中
final_list = []
for city_data_list in data_list:
    city_name = city_data_list['城市']
    city_population = city_data_list['常住人口']
    final_list.append((city_name , city_population))  #每封装一组就追加到列表中
#删除最后一组数据
del final_list[-1]
print(final_list)
# #绘制图表
my_map = Map()
my_map.add("2024四川市人口数量",final_list,'四川')
# #全局设置
my_map.set_global_opts(
    title_opts=TitleOpts(
        title='四川各市人口数量'
    ),

    visualmap_opts=VisualMapOpts(
        is_show=True,#是否展示
        is_piecewise=True,#是否分段
#         #设置人口分段在地图上的颜色
        pieces=[
            {'max':300, 'label':'0~300', 'color':'#CCFFFF'},
            {'min':300, 'max':500, 'label':'300~500', 'color':'#FFFF99'},
            {'min':500, 'max':700, 'label':'500~700', 'color':'#FF9966'},
            {'min':700, 'max':900, 'label': '700~900', 'color': '#FF6666'},
            {'min':900,'max':1100, 'label':'900~1100', 'color':'#CC3333'},
            {'min':1100, 'label':'1100+', 'color':'#990033'},

        ]
    )
)
# #生成图表
my_map.render("四川省人口数据可视化地图.html")